#ifndef _CINEMATIC_ADJUST_H_
#define _CINEMATIC_ADJUST_H_

class CSceneObject;
class CCinematicThread;
extern CGlobals* g;

typedef struct tgThreadInfo
{
	CCinematicThread * m_thread;
	irr::core::array<void *> m_allCommandList;
	irr::core::array<int> m_stampList;
}THREAD_INFO;

class CCinematicAdjust
{
public:
	CCinematicAdjust();
	~CCinematicAdjust();

	void startAdjust( CSceneObject *pObject );

	bool receiveEvent(const SEvent& event);

private:
	void closeDialog();
	void createWindow();
	bool adjustPosition();

	void loadAndAdjustCinematic(const irr::c8 *name, float x, float y, float z);

	void SaveAgainCinematic(const irr::c8 *name);
private:
	IGUIWindow* m_AdjustWindow;

	CSceneObject* m_Target;

	IGUIEditBox* m_xEdit;
	IGUIEditBox* m_yEdit;
	IGUIEditBox* m_zEdit;

	irr::core::array<THREAD_INFO> m_allThreadInfo;
};

#endif//_CINEMATIC_ADJUST_H_